{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. k-means聚类\n",
    "\n",
    "熟悉各中聚类算法的调用\n",
    "并用评价指标选择合适的超参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#导入必要的工具包\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.cluster import MiniBatchKMeans\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn import metrics\n",
    "\n",
    "from sklearn.decomposition import PCA\n",
    "import time\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "#读取训练数据\n",
    "train = pd.read_csv('users_FE.csv')\n",
    "y_train = train.cluster_100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the shape of train_image: (38209, 6)\n"
     ]
    }
   ],
   "source": [
    "# 原始输入的特征维数和样本数目\n",
    "print('the shape of train_image: {}'.format(X_train.shape))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>LocaleId</th>\n",
       "      <th>BirthYearInt</th>\n",
       "      <th>GenderId</th>\n",
       "      <th>JoinedYearMonth</th>\n",
       "      <th>TimezoneInt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.000042</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>0.000029</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000022</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000023</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38179</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38180</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38181</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000040</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38182</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38183</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000022</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38184</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38185</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38186</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38187</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38188</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000023</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38189</th>\n",
       "      <td>0.000035</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000004</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38190</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38191</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38192</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38193</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>0.000013</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38194</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38195</th>\n",
       "      <td>0.000040</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38196</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38197</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38198</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38199</th>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38200</th>\n",
       "      <td>0.000059</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000009</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38201</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38202</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38203</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38204</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000023</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38205</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38206</th>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38207</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38208</th>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000036</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>38209 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       LocaleId  BirthYearInt  GenderId  JoinedYearMonth  TimezoneInt\n",
       "0      0.000036      0.000027  0.000019         0.000026     0.000036\n",
       "1      0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "2      0.000020      0.000027  0.000019         0.000026    -0.000018\n",
       "3      0.000020      0.000027  0.000038         0.000027     0.000016\n",
       "4      0.000036      0.000027  0.000038         0.000026     0.000031\n",
       "5      0.000042      0.000027  0.000038         0.000027     0.000018\n",
       "6      0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "7      0.000036      0.000027  0.000038         0.000026     0.000031\n",
       "8      0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "9      0.000036      0.000027  0.000038         0.000026     0.000031\n",
       "10     0.000020      0.000027  0.000019         0.000026     0.000031\n",
       "11     0.000020      0.000027  0.000038         0.000026     0.000031\n",
       "12     0.000036      0.000027  0.000038         0.000026     0.000031\n",
       "13     0.000020      0.000027  0.000038         0.000026     0.000018\n",
       "14     0.000000      0.000000  0.000019         0.000025    -0.000022\n",
       "15     0.000029      0.000027  0.000019         0.000026    -0.000018\n",
       "16     0.000000      0.000027  0.000019         0.000025    -0.000018\n",
       "17     0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "18     0.000036      0.000027  0.000019         0.000026     0.000020\n",
       "19     0.000020      0.000000  0.000019         0.000022    -0.000018\n",
       "20     0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "21     0.000019      0.000027  0.000038         0.000026     0.000018\n",
       "22     0.000020      0.000027  0.000019         0.000026     0.000031\n",
       "23     0.000020      0.000027  0.000038         0.000026     0.000031\n",
       "24     0.000036      0.000027  0.000019         0.000027    -0.000022\n",
       "25     0.000020      0.000027  0.000019         0.000023    -0.000018\n",
       "26     0.000036      0.000027  0.000019         0.000027    -0.000022\n",
       "27     0.000020      0.000027  0.000038         0.000026    -0.000018\n",
       "28     0.000020      0.000027  0.000038         0.000026     0.000031\n",
       "29     0.000020      0.000027  0.000019         0.000027    -0.000036\n",
       "...         ...           ...       ...              ...          ...\n",
       "38179  0.000000      0.000027  0.000019         0.000026    -0.000022\n",
       "38180  0.000036      0.000027  0.000019         0.000027     0.000031\n",
       "38181  0.000020      0.000027  0.000019         0.000027     0.000040\n",
       "38182  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38183  0.000020      0.000000  0.000019         0.000022    -0.000018\n",
       "38184  0.000020      0.000027  0.000038         0.000026     0.000031\n",
       "38185  0.000036      0.000027  0.000038         0.000026     0.000031\n",
       "38186  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38187  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38188  0.000020      0.000027  0.000019         0.000023    -0.000018\n",
       "38189  0.000035      0.000027  0.000038         0.000027     0.000004\n",
       "38190  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38191  0.000036      0.000027  0.000038         0.000026    -0.000031\n",
       "38192  0.000036      0.000027  0.000038         0.000026     0.000031\n",
       "38193  0.000000      0.000027  0.000019         0.000025     0.000013\n",
       "38194  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38195  0.000040      0.000027  0.000038         0.000025    -0.000022\n",
       "38196  0.000020      0.000027  0.000038         0.000026    -0.000018\n",
       "38197  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38198  0.000020      0.000027  0.000019         0.000027    -0.000036\n",
       "38199  0.000019      0.000027  0.000038         0.000027     0.000031\n",
       "38200  0.000059      0.000027  0.000019         0.000026    -0.000009\n",
       "38201  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38202  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38203  0.000036      0.000027  0.000038         0.000027     0.000031\n",
       "38204  0.000020      0.000027  0.000038         0.000023    -0.000018\n",
       "38205  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38206  0.000036      0.000027  0.000019         0.000026     0.000031\n",
       "38207  0.000020      0.000027  0.000019         0.000026     0.000031\n",
       "38208  0.000020      0.000027  0.000019         0.000027    -0.000036\n",
       "\n",
       "[38209 rows x 5 columns]"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train = train.drop([\"Unnamed: 0\", \"cluster_100\"],axis=1)\n",
    "X_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X_train_amplified = X_train * 10000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>LocaleId</th>\n",
       "      <th>BirthYearInt</th>\n",
       "      <th>GenderId</th>\n",
       "      <th>JoinedYearMonth</th>\n",
       "      <th>TimezoneInt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272952</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.355744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272815</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.256019</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.270487</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272678</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>0.155638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273226</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.256019</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.415378</td>\n",
       "      <td>0.270213</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273089</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.269117</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.271035</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272267</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272815</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.256019</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.273363</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272952</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.273363</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.248260</td>\n",
       "      <td>-0.222340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>0.289281</td>\n",
       "      <td>0.272815</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.256019</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.272952</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.248260</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272541</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272952</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.200106</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.224986</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272267</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>0.188403</td>\n",
       "      <td>0.272267</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272815</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.273089</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273089</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>-0.222340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272130</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.232744</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272952</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>-0.222340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272267</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.256019</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.273089</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272267</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>-0.355744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38179</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.272815</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.256019</td>\n",
       "      <td>-0.222340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38180</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273226</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38181</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.271856</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>0.400212</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38182</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.271583</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38183</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.224986</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38184</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.273363</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38185</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273089</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38186</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273089</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38187</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272404</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38188</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272130</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.232744</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38189</th>\n",
       "      <td>0.353071</td>\n",
       "      <td>0.268022</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>0.044468</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38190</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272267</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38191</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273363</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.256019</td>\n",
       "      <td>-0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38192</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273637</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38193</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.271172</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.248260</td>\n",
       "      <td>0.133404</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38194</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273226</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.256019</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38195</th>\n",
       "      <td>0.400543</td>\n",
       "      <td>0.271719</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.248260</td>\n",
       "      <td>-0.222340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38196</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272815</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.256019</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38197</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273089</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38198</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272678</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>-0.355744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38199</th>\n",
       "      <td>0.188403</td>\n",
       "      <td>0.273226</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38200</th>\n",
       "      <td>0.585979</td>\n",
       "      <td>0.272404</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>-0.088936</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38201</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273500</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38202</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273500</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38203</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.272952</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38204</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.269254</td>\n",
       "      <td>0.377658</td>\n",
       "      <td>0.232744</td>\n",
       "      <td>-0.177872</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38205</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273500</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38206</th>\n",
       "      <td>0.364939</td>\n",
       "      <td>0.273226</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38207</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.272404</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.263777</td>\n",
       "      <td>0.311276</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38208</th>\n",
       "      <td>0.201755</td>\n",
       "      <td>0.271172</td>\n",
       "      <td>0.188829</td>\n",
       "      <td>0.271535</td>\n",
       "      <td>-0.355744</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>38209 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       LocaleId  BirthYearInt  GenderId  JoinedYearMonth  TimezoneInt\n",
       "0      0.364939      0.272952  0.188829         0.263777     0.355744\n",
       "1      0.364939      0.272815  0.188829         0.256019     0.311276\n",
       "2      0.201755      0.270487  0.188829         0.263777    -0.177872\n",
       "3      0.201755      0.272678  0.377658         0.271535     0.155638\n",
       "4      0.364939      0.273226  0.377658         0.256019     0.311276\n",
       "5      0.415378      0.270213  0.377658         0.271535     0.177872\n",
       "6      0.364939      0.273089  0.188829         0.263777     0.311276\n",
       "7      0.364939      0.269117  0.377658         0.263777     0.311276\n",
       "8      0.364939      0.271035  0.188829         0.263777     0.311276\n",
       "9      0.364939      0.272267  0.377658         0.263777     0.311276\n",
       "10     0.201755      0.272815  0.188829         0.256019     0.311276\n",
       "11     0.201755      0.273363  0.377658         0.263777     0.311276\n",
       "12     0.364939      0.272952  0.377658         0.263777     0.311276\n",
       "13     0.201755      0.273363  0.377658         0.263777     0.177872\n",
       "14     0.000000      0.000000  0.188829         0.248260    -0.222340\n",
       "15     0.289281      0.272815  0.188829         0.256019    -0.177872\n",
       "16     0.000000      0.272952  0.188829         0.248260    -0.177872\n",
       "17     0.364939      0.272541  0.188829         0.263777     0.311276\n",
       "18     0.364939      0.272952  0.188829         0.263777     0.200106\n",
       "19     0.201755      0.000000  0.188829         0.224986    -0.177872\n",
       "20     0.364939      0.272267  0.188829         0.263777     0.311276\n",
       "21     0.188403      0.272267  0.377658         0.263777     0.177872\n",
       "22     0.201755      0.272815  0.188829         0.263777     0.311276\n",
       "23     0.201755      0.273089  0.377658         0.263777     0.311276\n",
       "24     0.364939      0.273089  0.188829         0.271535    -0.222340\n",
       "25     0.201755      0.272130  0.188829         0.232744    -0.177872\n",
       "26     0.364939      0.272952  0.188829         0.271535    -0.222340\n",
       "27     0.201755      0.272267  0.377658         0.256019    -0.177872\n",
       "28     0.201755      0.273089  0.377658         0.263777     0.311276\n",
       "29     0.201755      0.272267  0.188829         0.271535    -0.355744\n",
       "...         ...           ...       ...              ...          ...\n",
       "38179  0.000000      0.272815  0.188829         0.256019    -0.222340\n",
       "38180  0.364939      0.273226  0.188829         0.271535     0.311276\n",
       "38181  0.201755      0.271856  0.188829         0.271535     0.400212\n",
       "38182  0.364939      0.271583  0.188829         0.263777     0.311276\n",
       "38183  0.201755      0.000000  0.188829         0.224986    -0.177872\n",
       "38184  0.201755      0.273363  0.377658         0.263777     0.311276\n",
       "38185  0.364939      0.273089  0.377658         0.263777     0.311276\n",
       "38186  0.364939      0.273089  0.188829         0.263777     0.311276\n",
       "38187  0.364939      0.272404  0.188829         0.263777     0.311276\n",
       "38188  0.201755      0.272130  0.188829         0.232744    -0.177872\n",
       "38189  0.353071      0.268022  0.377658         0.271535     0.044468\n",
       "38190  0.364939      0.272267  0.188829         0.263777     0.311276\n",
       "38191  0.364939      0.273363  0.377658         0.256019    -0.311276\n",
       "38192  0.364939      0.273637  0.377658         0.263777     0.311276\n",
       "38193  0.000000      0.271172  0.188829         0.248260     0.133404\n",
       "38194  0.364939      0.273226  0.188829         0.256019     0.311276\n",
       "38195  0.400543      0.271719  0.377658         0.248260    -0.222340\n",
       "38196  0.201755      0.272815  0.377658         0.256019    -0.177872\n",
       "38197  0.364939      0.273089  0.188829         0.263777     0.311276\n",
       "38198  0.201755      0.272678  0.188829         0.271535    -0.355744\n",
       "38199  0.188403      0.273226  0.377658         0.271535     0.311276\n",
       "38200  0.585979      0.272404  0.188829         0.263777    -0.088936\n",
       "38201  0.364939      0.273500  0.188829         0.263777     0.311276\n",
       "38202  0.364939      0.273500  0.188829         0.263777     0.311276\n",
       "38203  0.364939      0.272952  0.377658         0.271535     0.311276\n",
       "38204  0.201755      0.269254  0.377658         0.232744    -0.177872\n",
       "38205  0.364939      0.273500  0.188829         0.263777     0.311276\n",
       "38206  0.364939      0.273226  0.188829         0.263777     0.311276\n",
       "38207  0.201755      0.272404  0.188829         0.263777     0.311276\n",
       "38208  0.201755      0.271172  0.188829         0.271535    -0.355744\n",
       "\n",
       "[38209 rows x 5 columns]"
      ]
     },
     "execution_count": 148,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train_amplified"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Unnamed: 0         38208.000000\n",
       "LocaleId               0.000081\n",
       "BirthYearInt           0.000027\n",
       "GenderId               0.000038\n",
       "JoinedYearMonth        0.000028\n",
       "TimezoneInt            0.000062\n",
       "dtype: float64"
      ]
     },
     "execution_count": 134,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Unnamed: 0         0.000000\n",
       "LocaleId           0.000000\n",
       "BirthYearInt       0.000000\n",
       "GenderId           0.000000\n",
       "JoinedYearMonth    0.000000\n",
       "TimezoneInt       -0.000053\n",
       "dtype: float64"
      ]
     },
     "execution_count": 135,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.min()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>LocaleId</th>\n",
       "      <th>BirthYearInt</th>\n",
       "      <th>GenderId</th>\n",
       "      <th>JoinedYearMonth</th>\n",
       "      <th>TimezoneInt</th>\n",
       "      <th>cluster_100</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.729521</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.557437</td>\n",
       "      <td>9500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.728151</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.560186</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>3200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.704869</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>6600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.726782</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>1.556379</td>\n",
       "      <td>1200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.732260</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.560186</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>8000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>4.153775</td>\n",
       "      <td>2.702130</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>1.778719</td>\n",
       "      <td>4000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.730890</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.691173</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>2400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.710347</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.722673</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>9800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.728151</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.560186</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>3700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.733630</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>2300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.729521</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.733630</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>1.778719</td>\n",
       "      <td>1200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.482604</td>\n",
       "      <td>-2.223398</td>\n",
       "      <td>2900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>2.892808</td>\n",
       "      <td>2.728151</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.560186</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>5800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.729521</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.482604</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>2600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.725412</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.729521</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>2.001058</td>\n",
       "      <td>5100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.249860</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.722673</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>1.884034</td>\n",
       "      <td>2.722673</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>1.778719</td>\n",
       "      <td>9400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.728151</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>3700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.730890</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>2300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.730890</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>-2.223398</td>\n",
       "      <td>4400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.721304</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.327442</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>9600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.729521</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>-2.223398</td>\n",
       "      <td>4400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.722673</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.560186</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>7800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.730890</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>2300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.722673</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>-3.557437</td>\n",
       "      <td>5900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38179</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.728151</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.560186</td>\n",
       "      <td>-2.223398</td>\n",
       "      <td>6900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38180</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.732260</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>9500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38181</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.718564</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>4.002117</td>\n",
       "      <td>1000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38182</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.715825</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38183</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.249860</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38184</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.733630</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>2300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38185</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.730890</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38186</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.730890</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38187</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.724043</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38188</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.721304</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.327442</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>9600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38189</th>\n",
       "      <td>3.530709</td>\n",
       "      <td>2.680217</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>0.444680</td>\n",
       "      <td>6100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38190</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.722673</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38191</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.733630</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.560186</td>\n",
       "      <td>-3.112757</td>\n",
       "      <td>5400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38192</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.736369</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38193</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.711717</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.482604</td>\n",
       "      <td>1.334039</td>\n",
       "      <td>1100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38194</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.732260</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.560186</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>3200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38195</th>\n",
       "      <td>4.005426</td>\n",
       "      <td>2.717195</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.482604</td>\n",
       "      <td>-2.223398</td>\n",
       "      <td>1700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38196</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.728151</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.560186</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>7800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38197</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.730890</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38198</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.726782</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>-3.557437</td>\n",
       "      <td>5900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38199</th>\n",
       "      <td>1.884034</td>\n",
       "      <td>2.732260</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>8700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38200</th>\n",
       "      <td>5.859790</td>\n",
       "      <td>2.724043</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>-0.889359</td>\n",
       "      <td>1900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38201</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.734999</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38202</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.734999</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38203</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.729521</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>9200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38204</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.692543</td>\n",
       "      <td>3.776578</td>\n",
       "      <td>2.327442</td>\n",
       "      <td>-1.778719</td>\n",
       "      <td>400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38205</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.734999</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38206</th>\n",
       "      <td>3.649388</td>\n",
       "      <td>2.732260</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>7500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38207</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.724043</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.637767</td>\n",
       "      <td>3.112757</td>\n",
       "      <td>3700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38208</th>\n",
       "      <td>2.017548</td>\n",
       "      <td>2.711717</td>\n",
       "      <td>1.888289</td>\n",
       "      <td>2.715348</td>\n",
       "      <td>-3.557437</td>\n",
       "      <td>5900000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>38209 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       LocaleId  BirthYearInt  GenderId  JoinedYearMonth  TimezoneInt  \\\n",
       "0      3.649388      2.729521  1.888289         2.637767     3.557437   \n",
       "1      3.649388      2.728151  1.888289         2.560186     3.112757   \n",
       "2      2.017548      2.704869  1.888289         2.637767    -1.778719   \n",
       "3      2.017548      2.726782  3.776578         2.715348     1.556379   \n",
       "4      3.649388      2.732260  3.776578         2.560186     3.112757   \n",
       "5      4.153775      2.702130  3.776578         2.715348     1.778719   \n",
       "6      3.649388      2.730890  1.888289         2.637767     3.112757   \n",
       "7      3.649388      2.691173  3.776578         2.637767     3.112757   \n",
       "8      3.649388      2.710347  1.888289         2.637767     3.112757   \n",
       "9      3.649388      2.722673  3.776578         2.637767     3.112757   \n",
       "10     2.017548      2.728151  1.888289         2.560186     3.112757   \n",
       "11     2.017548      2.733630  3.776578         2.637767     3.112757   \n",
       "12     3.649388      2.729521  3.776578         2.637767     3.112757   \n",
       "13     2.017548      2.733630  3.776578         2.637767     1.778719   \n",
       "14     0.000000      0.000000  1.888289         2.482604    -2.223398   \n",
       "15     2.892808      2.728151  1.888289         2.560186    -1.778719   \n",
       "16     0.000000      2.729521  1.888289         2.482604    -1.778719   \n",
       "17     3.649388      2.725412  1.888289         2.637767     3.112757   \n",
       "18     3.649388      2.729521  1.888289         2.637767     2.001058   \n",
       "19     2.017548      0.000000  1.888289         2.249860    -1.778719   \n",
       "20     3.649388      2.722673  1.888289         2.637767     3.112757   \n",
       "21     1.884034      2.722673  3.776578         2.637767     1.778719   \n",
       "22     2.017548      2.728151  1.888289         2.637767     3.112757   \n",
       "23     2.017548      2.730890  3.776578         2.637767     3.112757   \n",
       "24     3.649388      2.730890  1.888289         2.715348    -2.223398   \n",
       "25     2.017548      2.721304  1.888289         2.327442    -1.778719   \n",
       "26     3.649388      2.729521  1.888289         2.715348    -2.223398   \n",
       "27     2.017548      2.722673  3.776578         2.560186    -1.778719   \n",
       "28     2.017548      2.730890  3.776578         2.637767     3.112757   \n",
       "29     2.017548      2.722673  1.888289         2.715348    -3.557437   \n",
       "...         ...           ...       ...              ...          ...   \n",
       "38179  0.000000      2.728151  1.888289         2.560186    -2.223398   \n",
       "38180  3.649388      2.732260  1.888289         2.715348     3.112757   \n",
       "38181  2.017548      2.718564  1.888289         2.715348     4.002117   \n",
       "38182  3.649388      2.715825  1.888289         2.637767     3.112757   \n",
       "38183  2.017548      0.000000  1.888289         2.249860    -1.778719   \n",
       "38184  2.017548      2.733630  3.776578         2.637767     3.112757   \n",
       "38185  3.649388      2.730890  3.776578         2.637767     3.112757   \n",
       "38186  3.649388      2.730890  1.888289         2.637767     3.112757   \n",
       "38187  3.649388      2.724043  1.888289         2.637767     3.112757   \n",
       "38188  2.017548      2.721304  1.888289         2.327442    -1.778719   \n",
       "38189  3.530709      2.680217  3.776578         2.715348     0.444680   \n",
       "38190  3.649388      2.722673  1.888289         2.637767     3.112757   \n",
       "38191  3.649388      2.733630  3.776578         2.560186    -3.112757   \n",
       "38192  3.649388      2.736369  3.776578         2.637767     3.112757   \n",
       "38193  0.000000      2.711717  1.888289         2.482604     1.334039   \n",
       "38194  3.649388      2.732260  1.888289         2.560186     3.112757   \n",
       "38195  4.005426      2.717195  3.776578         2.482604    -2.223398   \n",
       "38196  2.017548      2.728151  3.776578         2.560186    -1.778719   \n",
       "38197  3.649388      2.730890  1.888289         2.637767     3.112757   \n",
       "38198  2.017548      2.726782  1.888289         2.715348    -3.557437   \n",
       "38199  1.884034      2.732260  3.776578         2.715348     3.112757   \n",
       "38200  5.859790      2.724043  1.888289         2.637767    -0.889359   \n",
       "38201  3.649388      2.734999  1.888289         2.637767     3.112757   \n",
       "38202  3.649388      2.734999  1.888289         2.637767     3.112757   \n",
       "38203  3.649388      2.729521  3.776578         2.715348     3.112757   \n",
       "38204  2.017548      2.692543  3.776578         2.327442    -1.778719   \n",
       "38205  3.649388      2.734999  1.888289         2.637767     3.112757   \n",
       "38206  3.649388      2.732260  1.888289         2.637767     3.112757   \n",
       "38207  2.017548      2.724043  1.888289         2.637767     3.112757   \n",
       "38208  2.017548      2.711717  1.888289         2.715348    -3.557437   \n",
       "\n",
       "       cluster_100  \n",
       "0          9500000  \n",
       "1          3200000  \n",
       "2          6600000  \n",
       "3          1200000  \n",
       "4          8000000  \n",
       "5          4000000  \n",
       "6          7500000  \n",
       "7          2400000  \n",
       "8          7500000  \n",
       "9          9800000  \n",
       "10         3700000  \n",
       "11         2300000  \n",
       "12          200000  \n",
       "13         1200000  \n",
       "14         2900000  \n",
       "15         5800000  \n",
       "16         2600000  \n",
       "17         7500000  \n",
       "18         5100000  \n",
       "19          900000  \n",
       "20         7500000  \n",
       "21         9400000  \n",
       "22         3700000  \n",
       "23         2300000  \n",
       "24         4400000  \n",
       "25         9600000  \n",
       "26         4400000  \n",
       "27         7800000  \n",
       "28         2300000  \n",
       "29         5900000  \n",
       "...            ...  \n",
       "38179      6900000  \n",
       "38180      9500000  \n",
       "38181      1000000  \n",
       "38182      7500000  \n",
       "38183       900000  \n",
       "38184      2300000  \n",
       "38185       200000  \n",
       "38186      7500000  \n",
       "38187      7500000  \n",
       "38188      9600000  \n",
       "38189      6100000  \n",
       "38190      7500000  \n",
       "38191      5400000  \n",
       "38192      7600000  \n",
       "38193      1100000  \n",
       "38194      3200000  \n",
       "38195      1700000  \n",
       "38196      7800000  \n",
       "38197      7500000  \n",
       "38198      5900000  \n",
       "38199      8700000  \n",
       "38200      1900000  \n",
       "38201      7500000  \n",
       "38202      7500000  \n",
       "38203      9200000  \n",
       "38204       400000  \n",
       "38205      7500000  \n",
       "38206      7500000  \n",
       "38207      3700000  \n",
       "38208      5900000  \n",
       "\n",
       "[38209 rows x 6 columns]"
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train * 100000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>LocaleId</th>\n",
       "      <th>BirthYearInt</th>\n",
       "      <th>GenderId</th>\n",
       "      <th>JoinedYearMonth</th>\n",
       "      <th>TimezoneInt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>0.000042</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>0.000029</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000022</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000023</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38179</th>\n",
       "      <td>38179</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38180</th>\n",
       "      <td>38180</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38181</th>\n",
       "      <td>38181</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000040</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38182</th>\n",
       "      <td>38182</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38183</th>\n",
       "      <td>38183</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000022</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38184</th>\n",
       "      <td>38184</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38185</th>\n",
       "      <td>38185</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38186</th>\n",
       "      <td>38186</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38187</th>\n",
       "      <td>38187</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38188</th>\n",
       "      <td>38188</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000023</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38189</th>\n",
       "      <td>38189</td>\n",
       "      <td>0.000035</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000004</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38190</th>\n",
       "      <td>38190</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38191</th>\n",
       "      <td>38191</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38192</th>\n",
       "      <td>38192</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38193</th>\n",
       "      <td>38193</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>0.000013</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38194</th>\n",
       "      <td>38194</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38195</th>\n",
       "      <td>38195</td>\n",
       "      <td>0.000040</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>-0.000022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38196</th>\n",
       "      <td>38196</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38197</th>\n",
       "      <td>38197</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38198</th>\n",
       "      <td>38198</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38199</th>\n",
       "      <td>38199</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38200</th>\n",
       "      <td>38200</td>\n",
       "      <td>0.000059</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>-0.000009</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38201</th>\n",
       "      <td>38201</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38202</th>\n",
       "      <td>38202</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38203</th>\n",
       "      <td>38203</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38204</th>\n",
       "      <td>38204</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000023</td>\n",
       "      <td>-0.000018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38205</th>\n",
       "      <td>38205</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38206</th>\n",
       "      <td>38206</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38207</th>\n",
       "      <td>38207</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38208</th>\n",
       "      <td>38208</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>-0.000036</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>38209 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       Unnamed: 0  LocaleId  BirthYearInt  GenderId  JoinedYearMonth  \\\n",
       "0               0  0.000036      0.000027  0.000019         0.000026   \n",
       "1               1  0.000036      0.000027  0.000019         0.000026   \n",
       "2               2  0.000020      0.000027  0.000019         0.000026   \n",
       "3               3  0.000020      0.000027  0.000038         0.000027   \n",
       "4               4  0.000036      0.000027  0.000038         0.000026   \n",
       "5               5  0.000042      0.000027  0.000038         0.000027   \n",
       "6               6  0.000036      0.000027  0.000019         0.000026   \n",
       "7               7  0.000036      0.000027  0.000038         0.000026   \n",
       "8               8  0.000036      0.000027  0.000019         0.000026   \n",
       "9               9  0.000036      0.000027  0.000038         0.000026   \n",
       "10             10  0.000020      0.000027  0.000019         0.000026   \n",
       "11             11  0.000020      0.000027  0.000038         0.000026   \n",
       "12             12  0.000036      0.000027  0.000038         0.000026   \n",
       "13             13  0.000020      0.000027  0.000038         0.000026   \n",
       "14             14  0.000000      0.000000  0.000019         0.000025   \n",
       "15             15  0.000029      0.000027  0.000019         0.000026   \n",
       "16             16  0.000000      0.000027  0.000019         0.000025   \n",
       "17             17  0.000036      0.000027  0.000019         0.000026   \n",
       "18             18  0.000036      0.000027  0.000019         0.000026   \n",
       "19             19  0.000020      0.000000  0.000019         0.000022   \n",
       "20             20  0.000036      0.000027  0.000019         0.000026   \n",
       "21             21  0.000019      0.000027  0.000038         0.000026   \n",
       "22             22  0.000020      0.000027  0.000019         0.000026   \n",
       "23             23  0.000020      0.000027  0.000038         0.000026   \n",
       "24             24  0.000036      0.000027  0.000019         0.000027   \n",
       "25             25  0.000020      0.000027  0.000019         0.000023   \n",
       "26             26  0.000036      0.000027  0.000019         0.000027   \n",
       "27             27  0.000020      0.000027  0.000038         0.000026   \n",
       "28             28  0.000020      0.000027  0.000038         0.000026   \n",
       "29             29  0.000020      0.000027  0.000019         0.000027   \n",
       "...           ...       ...           ...       ...              ...   \n",
       "38179       38179  0.000000      0.000027  0.000019         0.000026   \n",
       "38180       38180  0.000036      0.000027  0.000019         0.000027   \n",
       "38181       38181  0.000020      0.000027  0.000019         0.000027   \n",
       "38182       38182  0.000036      0.000027  0.000019         0.000026   \n",
       "38183       38183  0.000020      0.000000  0.000019         0.000022   \n",
       "38184       38184  0.000020      0.000027  0.000038         0.000026   \n",
       "38185       38185  0.000036      0.000027  0.000038         0.000026   \n",
       "38186       38186  0.000036      0.000027  0.000019         0.000026   \n",
       "38187       38187  0.000036      0.000027  0.000019         0.000026   \n",
       "38188       38188  0.000020      0.000027  0.000019         0.000023   \n",
       "38189       38189  0.000035      0.000027  0.000038         0.000027   \n",
       "38190       38190  0.000036      0.000027  0.000019         0.000026   \n",
       "38191       38191  0.000036      0.000027  0.000038         0.000026   \n",
       "38192       38192  0.000036      0.000027  0.000038         0.000026   \n",
       "38193       38193  0.000000      0.000027  0.000019         0.000025   \n",
       "38194       38194  0.000036      0.000027  0.000019         0.000026   \n",
       "38195       38195  0.000040      0.000027  0.000038         0.000025   \n",
       "38196       38196  0.000020      0.000027  0.000038         0.000026   \n",
       "38197       38197  0.000036      0.000027  0.000019         0.000026   \n",
       "38198       38198  0.000020      0.000027  0.000019         0.000027   \n",
       "38199       38199  0.000019      0.000027  0.000038         0.000027   \n",
       "38200       38200  0.000059      0.000027  0.000019         0.000026   \n",
       "38201       38201  0.000036      0.000027  0.000019         0.000026   \n",
       "38202       38202  0.000036      0.000027  0.000019         0.000026   \n",
       "38203       38203  0.000036      0.000027  0.000038         0.000027   \n",
       "38204       38204  0.000020      0.000027  0.000038         0.000023   \n",
       "38205       38205  0.000036      0.000027  0.000019         0.000026   \n",
       "38206       38206  0.000036      0.000027  0.000019         0.000026   \n",
       "38207       38207  0.000020      0.000027  0.000019         0.000026   \n",
       "38208       38208  0.000020      0.000027  0.000019         0.000027   \n",
       "\n",
       "       TimezoneInt  \n",
       "0         0.000036  \n",
       "1         0.000031  \n",
       "2        -0.000018  \n",
       "3         0.000016  \n",
       "4         0.000031  \n",
       "5         0.000018  \n",
       "6         0.000031  \n",
       "7         0.000031  \n",
       "8         0.000031  \n",
       "9         0.000031  \n",
       "10        0.000031  \n",
       "11        0.000031  \n",
       "12        0.000031  \n",
       "13        0.000018  \n",
       "14       -0.000022  \n",
       "15       -0.000018  \n",
       "16       -0.000018  \n",
       "17        0.000031  \n",
       "18        0.000020  \n",
       "19       -0.000018  \n",
       "20        0.000031  \n",
       "21        0.000018  \n",
       "22        0.000031  \n",
       "23        0.000031  \n",
       "24       -0.000022  \n",
       "25       -0.000018  \n",
       "26       -0.000022  \n",
       "27       -0.000018  \n",
       "28        0.000031  \n",
       "29       -0.000036  \n",
       "...            ...  \n",
       "38179    -0.000022  \n",
       "38180     0.000031  \n",
       "38181     0.000040  \n",
       "38182     0.000031  \n",
       "38183    -0.000018  \n",
       "38184     0.000031  \n",
       "38185     0.000031  \n",
       "38186     0.000031  \n",
       "38187     0.000031  \n",
       "38188    -0.000018  \n",
       "38189     0.000004  \n",
       "38190     0.000031  \n",
       "38191    -0.000031  \n",
       "38192     0.000031  \n",
       "38193     0.000013  \n",
       "38194     0.000031  \n",
       "38195    -0.000022  \n",
       "38196    -0.000018  \n",
       "38197     0.000031  \n",
       "38198    -0.000036  \n",
       "38199     0.000031  \n",
       "38200    -0.000009  \n",
       "38201     0.000031  \n",
       "38202     0.000031  \n",
       "38203     0.000031  \n",
       "38204    -0.000018  \n",
       "38205     0.000031  \n",
       "38206     0.000031  \n",
       "38207     0.000031  \n",
       "38208    -0.000036  \n",
       "\n",
       "[38209 rows x 6 columns]"
      ]
     },
     "execution_count": 143,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train = train.drop(\"cluster_100\",axis=1)\n",
    "X_train"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 由于数据只有六维，所以不考虑使用PCA降维"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\envs\\python3\\lib\\site-packages\\sklearn\\model_selection\\_split.py:2010: FutureWarning: From version 0.21, test_size will always complement train_size unless both are specified.\n",
      "  FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "# 将训练集合拆分成训练集和校验集，在校验集上找到最佳的模型超参数（PCA的维数）\n",
    "X_train_part, X_val, y_train_part, y_val = train_test_split(X_train, y_train, train_size = 0.8,random_state = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(30567, 5)\n",
      "(7642, 5)\n"
     ]
    }
   ],
   "source": [
    "#拆分后的训练集和校验集的样本数目\n",
    "print(X_train_part.shape)\n",
    "print(X_val.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 一个参数点（聚类数据为K）的模型，在校验集上评价聚类算法性能\n",
    "def K_cluster_analysis(K, X_train, y_train, X_val, y_val):\n",
    "    start = time.time()\n",
    "    \n",
    "    print(\"K-means begin with clusters: {}\".format(K));\n",
    "    \n",
    "    #K-means,在训练集上训练\n",
    "    mb_kmeans = MiniBatchKMeans(n_clusters = K)\n",
    "    mb_kmeans.fit(X_train)\n",
    "    \n",
    "    # 在训练集和测试集上测试\n",
    "    #y_train_pred = mb_kmeans.fit_predict(X_train)\n",
    "    y_val_pred = mb_kmeans.predict(X_val)\n",
    "    \n",
    "    #以前两维特征打印训练数据的分类结果\n",
    "    #plt.scatter(X_train[:, 0], X_train[:, 1], c=y_pred)\n",
    "    #plt.show()\n",
    "\n",
    "    # K值的评估标准\n",
    "    #常见的方法有轮廓系数Silhouette Coefficient和Calinski-Harabasz Index\n",
    "    #这两个分数值越大则聚类效果越好\n",
    "    #CH_score = metrics.calinski_harabaz_score(X_train,mb_kmeans.predict(X_train))\n",
    "    CH_score = metrics.silhouette_score(X_train,mb_kmeans.predict(X_train))\n",
    "    \n",
    "    #也可以在校验集上评估K\n",
    "    v_score = metrics.v_measure_score(y_val, y_val_pred)\n",
    "    \n",
    "    end = time.time()\n",
    "    print(\"CH_score: {}, time elaps:{}\".format(CH_score, int(end-start)))\n",
    "    print(\"v_score: {}\".format(v_score))\n",
    "    \n",
    "    return CH_score,v_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "K-means begin with clusters: 10\n",
      "CH_score: 0.5802156972609612, time elaps:65\n",
      "v_score: 0.6771227847746695\n",
      "K-means begin with clusters: 20\n",
      "CH_score: 0.6783402081990069, time elaps:51\n",
      "v_score: 0.7755992295400256\n",
      "K-means begin with clusters: 30\n",
      "CH_score: 0.6461075937363482, time elaps:49\n",
      "v_score: 0.824682444900362\n",
      "K-means begin with clusters: 40\n",
      "CH_score: 0.6774712765376715, time elaps:38\n",
      "v_score: 0.8428362274656366\n",
      "K-means begin with clusters: 50\n",
      "CH_score: 0.6598227033883831, time elaps:46\n",
      "v_score: 0.893339999601517\n",
      "K-means begin with clusters: 60\n",
      "CH_score: 0.5979758781145891, time elaps:46\n",
      "v_score: 0.8867872750871334\n",
      "K-means begin with clusters: 70\n",
      "CH_score: 0.6083946010419248, time elaps:45\n",
      "v_score: 0.9121138467630023\n",
      "K-means begin with clusters: 80\n",
      "CH_score: 0.6143222019657715, time elaps:46\n",
      "v_score: 0.9048589467568458\n"
     ]
    }
   ],
   "source": [
    "# 设置超参数（聚类数目K）搜索范围\n",
    "Ks = [10, 20, 30, 40, 50, 60, 70, 80]\n",
    "CH_scores = []\n",
    "v_scores = []\n",
    "for K in Ks:\n",
    "    ch,v = K_cluster_analysis(K, X_train_part, y_train_part, X_val, y_val)\n",
    "    CH_scores.append(ch)\n",
    "    v_scores.append(v)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.58021569726096123,\n",
       " 0.67834020819900687,\n",
       " 0.64610759373634818,\n",
       " 0.67747127653767147,\n",
       " 0.65982270338838311,\n",
       " 0.59797587811458908,\n",
       " 0.60839460104192478,\n",
       " 0.61432220196577147]"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "CH_scores"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.67712278477466947,\n",
       " 0.77559922954002558,\n",
       " 0.82468244490036202,\n",
       " 0.84283622746563658,\n",
       " 0.893339999601517,\n",
       " 0.8867872750871334,\n",
       " 0.91211384676300233,\n",
       " 0.90485894675684575]"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v_scores"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x15cd1cf8>]"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n/wOAIHEa0H0yFAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1b0eadd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制不同PCA维数下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_scores), 'b-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x19afc940>]"
      ]
     },
     "execution_count": 156,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VPW9x/H3lwCBsAYIi2wJi4iCgkQFUZQdEaGAtQRF\nFK/Ue3GjVmoFlbKpra3a4nKpUtkCIiggVbhAIKwqQVF2CJsElH3fk/zuHxlsCIEMkOTMZD6v55kn\nc7bkM3lOPueXM8sx5xwiIhIaCnkdQERE8o9KX0QkhKj0RURCiEpfRCSEqPRFREKISl9EJISo9EVE\nQohKX0QkhKj0RURCSGGvA2RVoUIFFx0d7XUMEZGgsmLFin3Ouaic1gu40o+OjiYpKcnrGCIiQcXM\ntvuznk7viIiEEJW+iEgIUemLiIQQlb6ISAhR6YuIhBCVvohICFHpi4iEkIB7nb6ISG5IOZLCpNWT\nKFe8HHXK1aFOuTpUKVkFM/M6mqdU+iJSoGw/tJ3XFr/G6JWjOZN25rxlxQsX/+UAUKdcHWpH1v7l\nfrXS1QgrFOZR6vyj0heRAmHzgc28uvhVxnw/BsPo07gPv7/99xSyQiQfSD7vtn7fev696d/nHRSK\nhhWlVmStjINAZJ3zDg41y9akcKGCUZcF41GISMjasG8DIxaPYMIPEyhcqDBPNHmCAc0HUL1M9V/W\nqRVZi3a12523XVp6GjuP7rzggLD54GYStiZw4uyJX9YtXKgw0WWjfzkg1C73n/8QYsrGEF44PN8e\n79VS6YtIUFqzZw3DFw3n4zUfEx4WztO3Pc3ztz9PlVJV/No+rFAYNcrUoEaZGrSKaXXeMuccPx/7\n+fwDwsGMr0t+XMLRM0d/WdcwapSpcd5/BudutSJrEVEkIlcf99Uy55zXGc4TGxvr9IFrInIx3//8\nPcMWDWPK2imUKFKCfrf047nbn6NiiYr58vOdc+w7sS/bA8LmA5vZf3L/eetXLVU12+cQaperTenw\n0rmWy8xWOOdic1pPI30RCQpJu5IYunAoMzbMoHR4aQbeOZBnmz5LhYgK+ZrDzIgqEUVUiSiaVW92\nwfKDJw+y+eDmC04bzdw4k93Hd5+3bsUSFf/zn0FkHW6sdCNdruuSt/k10heRQLZsxzKGLhzKl8lf\nUrZYWfo37c/Ttz1N2WJlvY522Y6ePprtASH5QDI7j+6kefXmLO6z+Iq+d66O9M2sA/A2EAZ84Jx7\nLcvymsBoIAo4ADzknEvxLesNDPKtOsw5N8bvRyEiIWvh9oUMXTiUuVvmUr54eUa0GkG/W/vl6imR\n/FYqvBSNKjeiUeVGFyw7cfYEh04dyvMMOZa+mYUB7wBtgRRguZnNcM6tzbTaG8BY59wYM2sFvAr0\nMrNywCtALOCAFb5tD+b2AxGR4OecY/62+QxJHELi9kQqlqjIX9r+hSdin6Bk0ZJex8tTEUUi8uVJ\nX39G+rcCyc65LQBmNgnoAmQu/euB/r7784FpvvvtgTnOuQO+becAHYCJVx9dRAoK5xyzN89m6MKh\nLN2xlGtKXcNb7d/i8SaPB9yrX4KdP6VfFdiRaToFuC3LOt8D3ck4BdQVKGVm5S+ybdWsP8DM+gJ9\nAWrUqOFvdhEJcs45Zm6cydCFQ1m+aznVS1fnnY7v0KdxH4oVLuZ1vALJn9LP7oMqsj77+3tgpJk9\nAiwEdgKpfm6Lc24UMAoynsj1I5OIBLF0l8609dMYtnAY3/38HTFlYxjVaRS9G/WmaFhRr+MVaP6U\nfgpQPdN0NWBX5hWcc7uAbgBmVhLo7pw7bGYpwN1Ztl1wFXlFJIilpacxZe0Uhi0axuo9q6lbri7/\n6vIvHmz4IEXCingdLyT4U/rLgbpmFkPGCL4H0DPzCmZWATjgnEsH/kjGK3kAZgMjzCzSN93Ot1xE\nQkhqeiqTVk9i+KLhrN+3nvoV6jOh2wQeuOGBAvOZNsEix9+2cy7VzJ4ko8DDgNHOuTVmNgRIcs7N\nIGM0/6qZOTJO7/TzbXvAzIaSceAAGHLuSV0RKfjOpp1l/A/jGb5oOJsPbqZhxYZ8fP/HdK/fPSQ+\n0TIQ6c1ZIh7adXQXL857kSKFihBdNpqYyJiMr2VjqFSyEoUsOK9zdDr1NGO+H8Ori19l26FtNK7c\nmJfvepnO9ToH7WMKdPoYBpEAt+PwDlqNbcXOIzspHV76grfoh4eFE102+peDwC/3fQeGqIiogLsg\nyKnUU3zw7Qe8vuR1Uo6kcGvVWxl5z0g61u0YcFlDlUpfxAPbDm2j1ZhW7D+5n3kPz6NZ9WacOHuC\n7Ye2s+3QNrYe2nre1xU/rWDfiX3nfY+IIhHnHRCyHhgii0XmW9GeOHuC/036X/6y9C/8dOwnmldv\nzoedP6RtrbYq+wCj0hfJZ1sObqHlmJYcOX2Eub3mckvVW4CMEq8fVZ/6UfWz3e7o6aNsP7ydrQe3\nXnBgWLJjyQVv4S9VtNR5p4vO+xoZkysfZ3DszDHeXf4uf132V/Yc30PL6JZM6DaBu6PvVtkHKJW+\nSD7atH8TLce05GTqSRIeTqBxlcZ+b1sqvBQNKjagQcUG2S4/dOpQxkEg60Hh4FYStiZw7Myx89aP\nLBb5n9NFZaIvOECUKFriolkOnzrMyG9G8uZXb7L/5H7a1W7HSy1e4o4ad/j9eMQbKn2RfLJu7zpa\nj21Nanoq83vP58ZKN+bq9y9brOxFP8zLOceBkwfOOxCcOzCs27uOLzd9ycnUk+dtExURle1B4auU\nr3j767c5dOoQ99a9l5davMRt1bK+SV8ClUpfJB+s3rOa1mNbYxgLHlnA9VHX5+vPNzPKR5SnfER5\nYq+58AUezjn2HN9zwUFh2+FtfPfTd0xbP+2868n+6rpfMejOQTS5pkl+PgzJBSp9kTy28ueVtBnb\nhvDC4SQ8nEC9CvW8jnQBM6NSyUpUKlmJptWaXrA83aXz09Gf2HpoKxUiKnBdhes8SCm5QaUvkodW\n7FpB23FtKVm0JAm9E6hTro7Xka5IIStE1dJVqVr6gs9LlCCjd0mI5JGvU76m9djWlClWhsRHEoO2\n8KVgUemL5IElPy6h7bi2VIioQOIjicRExngdSQRQ6YvkusRtibQf354qpaqQ+EgiNcroGhESOFT6\nIrlo3pZ53DPhHmqWrUniI4k6By4BR6UvkktmJc+i08RO1ClXh/m951O5ZGWvI4lcQKUvkgtmbpxJ\nl0ldqF+hPvN7z6diiYpeRxLJlkpf5Cp9tu4zun3cjZsq3cS8h+dRPqK815FELkqlL3IVJq+ZzK8/\n+TWx18Qyp9ccIotH5ryRiIdU+iJXaMIPE4ibGkez6s2Y/dBsyhQr43UkkRyp9EWuwJiVY+j1WS/u\nqnkXsx6cRanwUl5HEvGLSl/kMv1zxT95dPqjtKnVhpk9Z17yI4hFAo1KX+QyvLv8XfrO7Ms9de9h\nRtwMIopEeB1J5LKo9EX89NZXb9Hvi350rteZTx/4lGKFi3kdSeSyqfRF/PCXJX+h/+z+dK/fnU9+\n/QnhhcO9jiRyRVT6IjkYvnA4A+YOoEeDHky6fxJFw4p6HUnkiqn0RS7COccr819h0PxB9LqxF+O6\njqNwIV2CQoKb9mCRbDjnGJgwkFcXv0qfRn0Ydd8owgqFeR1L5Kqp9EWycM7x/Jzn+euyv/LbJr/l\n3XvfpZDpn2IpGFT6Ipk453hm1jP845t/8NStT/F2h7cxM69jieQalb6IT7pLp9+/+/H+ivf5XdPf\n8Ua7N1T4UuCo9EWAtPQ0+n7el9ErR/NC8xcY0XqECl8KJJW+hLy09DQenf4o434Yx8stXmbw3YNV\n+FJgqfQlpKWmp9Lrs15MWj2JoS2HMqjFIK8jieQplb6ErLNpZ4mbGsfUdVN5vc3rDGg+wOtIInlO\npS8h6XTqaX4z5TdM3zCdN9u/ybNNn/U6kki+8OvFx2bWwcw2mFmymb2QzfIaZjbfzL4zsx/MrKNv\nfrSZnTSzlb7b+7n9AEQu16nUU3Sb3I3pG6Yz8p6RKnwJKTmO9M0sDHgHaAukAMvNbIZzbm2m1QYB\nk51z75nZ9cAXQLRv2WbnXKPcjS1yZU6cPcGvJv2KuVvmMqrTKB5v8rjXkUTylT8j/VuBZOfcFufc\nGWAS0CXLOg4o7btfBtiVexFFcsfxM8fpFN+JuVvmMrrLaBW+hCR/Sr8qsCPTdIpvXmaDgYfMLIWM\nUf5TmZbF+E77JJrZndn9ADPra2ZJZpa0d+9e/9OL+Ono6aPcM+EeErcnMq7rOB5p9IjXkUQ84U/p\nZ/eCZZdlOg74yDlXDegIjDOzQsBPQA3nXGPgd0C8mZXOsi3OuVHOuVjnXGxUVNTlPQKRHBw+dZj2\n49uzdMdSJnafyIM3Puh1JBHP+FP6KUD1TNPVuPD0zWPAZADn3DKgGFDBOXfaObffN38FsBm49mpD\ni/jr4MmDtB3XlqRdSXzy60944IYHvI4k4il/Sn85UNfMYsysKNADmJFlnR+B1gBmVp+M0t9rZlG+\nJ4Ixs1pAXWBLboUXuZT9J/bTemxrvt/9PVMfmErX+l29jiTiuRxfveOcSzWzJ4HZQBgw2jm3xsyG\nAEnOuRnAc8A/zaw/Gad+HnHOOTNrAQwxs1QgDXjCOXcgzx6NiM+e43toM7YNG/dvZHqP6XSo08Hr\nSCIBwZzLenreW7GxsS4pKcnrGBLEUo6k0H58e7Ye3MqMuBm0qdXG60giec7MVjjnYnNaT+/IlQLh\n6OmjTFs/jYmrJ/J/m/+PYoWL8eWDX3JX9F1eRxMJKCp9CVqnU08zK3kW8avj+XzD55xMPUnNMjV5\n/vbn6dO4D3XL1/U6okjAUelLUElLT2Ph9oXEr4pnyropHDp1iAoRFejTuA9xDeJoVr2ZLm0ocgkq\nfQl4zjm+/elb4lfFM2nNJHYd3UXJoiXpel1XejbsSeuY1hQJK+J1TJGgoNKXgLVx/0biV8UTvyqe\nTQc2UaRQETrW7UjPhj3pdG0nIopEeB1RJOio9CWg7Dyyk4/XfEz8qnhW/LQCw7g7+m4GNB9A9/rd\niSwe6XVEkaCm0hfPHTx5kKnrphK/Kp4F2xbgcMReE8vf2v2NB254gKqls37Uk4hcKZW+eOLE2RN8\nvuFzJq6eyBebvuBs+lmuLX8tr9z1CnEN47i2vD6tQyQvqPQl35xNO8vcLXOJXx3PtPXTOHbmGNeU\nuoanbn2Kng17cnOVm3VBcpE8ptKXPJXu0lm2Yxnxq+KZvHYy+07so2yxsvS4oQc9G/akRc0WhBUK\n8zqmSMhQ6UueWLV7FfGr4pm4eiLbD2+neOHidK7XmbgGcXSo04HwwuFeRxQJSSp9yTVbD25l4uqJ\nxK+KZ83eNYRZGO1qt2NYq2F0qdeFUuGlvI4oEvJU+nJV9hzfw+Q1k4lfFc+ylGUANK/enHc6vsOv\nr/81USV0URyRQKLSl8t25PQRpq2fRvyqeOZumUuaS6NhxYa82vpVejToQXTZaK8jishFqPTFL6dS\nT/Hlpi+JXx3PzI0zOZV6iuiy0fyh+R+IaxhHg4oNvI4oIn5Q6UuOlu1YRpdJXdh7Yi9REVH8V+P/\nomfDnjSt1lQvsRQJMip9uaSErQl0ntiZKqWqMLbrWNrUakPhQtptRIKV/nrlomZunMn9k++nbvm6\nzOk1h8olK3sdSUSukj54XLL18eqP6fpxVxpWasiC3gtU+CIFhEpfLjD6u9HETY2jWbVmzHt4HuUj\nynsdSURyiUpfzvP3r//OYzMeo13tdsx6aBalw0t7HUlEcpFKX34xYtEInpn1DF2v68r0HtN1kRKR\nAkhP5ArOOV6c9yKvLXmNXjf2YnSX0XqFjkgBpb/sEJfu0nn6y6d5Z/k7PNHkCd659x1dWFykAFPp\nh7DU9FQe//xxPlr5Eb9v9nv+3PbPerOVSAGn0g9RZ9LO8OCnDzJl7RSG3D2EQS0GqfBFQoBKPwSd\nPHuS7pO782Xyl/yt3d/o36y/15FEJJ+o9EPM0dNH6TypM4nbEhnVaRSPN3nc60giko9U+iHk4MmD\n3DPhHpJ2JTG+23h6NuzpdSQRyWcq/RCx+9hu2o1vx/p965n6wFS6XNfF60gi4gGVfgjYcXgHbca1\nIeVICjPjZtK2dluvI4mIR1T6BdzmA5tpPbY1B08dZPZDs7mjxh1eRxIRD6n0C7C1e9fSZmwbzqSd\nIeHhBJpc08TrSCLiMb/eemlmHcxsg5klm9kL2SyvYWbzzew7M/vBzDpmWvZH33YbzKx9boaXi/v2\np29p8a8WOByJjySq8EUE8KP0zSwMeAe4B7geiDOz67OsNgiY7JxrDPQA3vVte71v+gagA/Cu7/tJ\nHlry4xJajmlJiaIlWPToIm6oeIPXkUQkQPgz0r8VSHbObXHOnQEmAVlf+uGAc5/BWwbY5bvfBZjk\nnDvtnNsKJPu+n+SRuVvm0m58OyqXrMziRxdTp1wdryOJSADxp/SrAjsyTaf45mU2GHjIzFKAL4Cn\nLmNbySUzNszg3vh7qR1Zm4WPLKR6mepeRxKRAONP6Wf3gSwuy3Qc8JFzrhrQERhnZoX83BYz62tm\nSWaWtHfvXj8iSVYTV02k28fdaFS5EQseWUClkpW8jiQiAcif0k8BMg8Zq/Gf0zfnPAZMBnDOLQOK\nARX83Bbn3CjnXKxzLjYqKsr/9ALAB99+wIOfPsgdNe5gbq+5lCtezutIIhKg/Cn95UBdM4sxs6Jk\nPDE7I8s6PwKtAcysPhmlv9e3Xg8zCzezGKAu8E1uhRd466u3ePzzx2lfpz1fPPgFpcJLeR1JRAJY\njq/Td86lmtmTwGwgDBjtnFtjZkOAJOfcDOA54J9m1p+M0zePOOccsMbMJgNrgVSgn3MuLa8eTChx\nzjF80XBemv8S3et3Z0K3CYQXDvc6logEOMvo5sARGxvrkpKSvI4R0JxzvDD3Bf689M88fNPDfNj5\nQ13eUCTEmdkK51xsTuupKYJMukvnyS+e5L2k9/jv2P9mZMeRuryhiPhNpR9EUtNT6TO9D+N+GMeA\n2wfwWpvXdLUrEbksKv0gcTr1ND0/7cmn6z5lWMthvHjniyp8EblsKv0gcOLsCbpP7s6s5Fm82f5N\nnm36rNeRRCRIqfQD3JHTR7hv4n0s2r6ID+77gMdufszrSCISxFT6AezAyQN0GN+B737+jvju8fRo\n0MPrSCIS5FT6AWr3sd20HdeWjfs38ukDn3Jfvfu8jiQiBYBKPwD9ePhH2oxtw86jO/l3z3/TulZr\nryOJSAGh0g8wyQeSaT22NYdPHWZOrzncXv12ryOJSAGi0g8gq/espu24tpxNO0tC7wRurnKz15FE\npIDRWzkDxIpdK7jro7swjIWPLlThi0ieUOkHgMU/LqbV2FaUKlqKRY8u4vqorFejFBHJHSp9j83Z\nPId249pRpWQVFvdZTO1ytb2OJCIFmErfQ9PWT6PTxE5cW/5aFj66kGqlq3kdSUQKOJW+R6atn8b9\nk++nceXGzO89n4olKnodSURCgF6944GTZ0/y5BdPcmOlG5nTa46udiUi+Ual74H3kt5j59GdjO82\nXoUvIvlKp3fy2ZHTRxixaATtarfj7ui7vY4jIiFGpZ/P3lz2JvtP7md4q+FeRxGREKTSz0f7Tuzj\nr8v+Svf63Ym9JsdLWYqI5DqVfj56bfFrHD97nCEth3gdRURClEo/n6QcSWHkNyPpdWMvveNWRDyj\n0s8nQxOHku7SGXz3YK+jiEgIU+nng+QDyXz43Yf8tslviS4b7XUcEQlhKv188MqCVwgvHM7AFgO9\njiIiIU6ln8d+2P0DE1dN5JnbnqFyycpexxGREKfSz2ODEgZROrw0z9/+vNdRRERU+nlp6Y6lfL7x\ncwY0H0Bk8Uiv44iIqPTzinOOF+e9SMUSFXnmtme8jiMiAugD1/LM3C1zSdyeyN87/J0SRUt4HUdE\nBNBIP08453gx4UVqlqlJ3yZ9vY4jIvILjfTzwGfrPyNpVxL/6vIvwguHex1HROQXGunnsrT0NAYl\nDOK6Ctfx0I0PeR1HROQ8fpW+mXUwsw1mlmxmL2Sz/E0zW+m7bTSzQ5mWpWVaNiM3wwei8T+MZ92+\ndQxrOYzChfSPlIgElhxbyczCgHeAtkAKsNzMZjjn1p5bxznXP9P6TwGNM32Lk865RrkXOXCdTj3N\nKwteoUmVJnSr383rOCIiF/BnpH8rkOyc2+KcOwNMArpcYv04YGJuhAs2//z2n2w/vJ3hrYZjZl7H\nERG5gD+lXxXYkWk6xTfvAmZWE4gBEjLNLmZmSWb2lZn96oqTBrjjZ44zbOEw7qp5F+1qt/M6johI\ntvw56ZzdkNVdZN0ewBTnXFqmeTWcc7vMrBaQYGarnHObz/sBZn2BvgA1atTwI1Lg+cc3/2D38d18\n+ptPNcoXkYDlz0g/BaieaboasOsi6/Ygy6kd59wu39ctwALOP99/bp1RzrlY51xsVFSUH5ECy8GT\nB3l9yet0urYTt1e/3es4IiIX5U/pLwfqmlmMmRUlo9gveBWOmdUDIoFlmeZFmlm4734FoDmwNuu2\nwe6NpW9w6NQhhrUc5nUUEZFLyvH0jnMu1cyeBGYDYcBo59waMxsCJDnnzh0A4oBJzrnMp37qA/9r\nZulkHGBey/yqn4Jg97HdvPX1W/Ro0IObKt/kdRwRkUvy64XkzrkvgC+yzHs5y/TgbLZbCjS8inwB\nb/ii4ZxOPc2Qu3WxcxEJfHpH7lXYfmg77ye9T5/Gfahbvq7XcUREcqTSvwp/SvwThawQL9/1cs4r\ni4gEAJX+FVq3dx1jvh9Dv1v6Ua10Na/jiIj4RaV/hV5e8DIRRSJ44Y4LPopIRCRgqfSvwIpdK5iy\ndgq/a/o7okoE3/sKRCR0qfSvwMCEgZQrXo7nbn/O6ygiIpdFpX+ZErclMnvzbP54xx8pHV7a6zgi\nIpdFpX8Zzl0G8ZpS19Dvln5exxERuWy6ysdl+GLTFyzdsZT3732f4kWKex1HROSyaaTvp3SXzsCE\ngdSOrE2fxn28jiMickU00vfT5DWT+X7390zoNoEiYUW8jiMickU00vfD2bSzvDT/JRpWbEiPBj28\njiMicsU00vfDRys/IvlAMtN7TKeQ6TgpIsFLDZaDU6mn+FPin2harSn3XXuf13FERK6KRvo5eG/5\ne+w8upNxXcfpMogiEvQ00r+Eo6ePMmLxCNrWakvLmJZexxERuWoq/Ut486s32XdiH8NbDfc6iohI\nrlDpX8T+E/t5Y+kbdL2uK7dUvcXrOCIiuUKlfxGvLX6NY2eOMayVLnYuIgWHSj8bO4/sZOTykfS6\nqRfXR13vdRwRkVyj0s/G0IVDSUtPY/Bdg72OIiKSq1T6WSQfSObD7z6kb5O+xETGeB1HRCRXqfSz\nGLxgMEUKFWHgnQO9jiIikutU+pms2r2K+FXxPH3b01QpVcXrOCIiuU6ln8mg+YMoHV6aAc0HeB1F\nRCRPqPR9vkr5ihkbZvD87c9Trng5r+OIiOQJlT6+yyDOe5GKJSryTNNnvI4jIpJn9IFrwLyt85i/\nbT5vd3ibkkVLeh1HRCTPhPxI/9wov0aZGvy2yW+9jiMikqdCfqQ/bf00lu9azujOowkvHO51HBGR\nPBXSI/209DQGzR9EvfL16HVTL6/jiIjkuZAe6U9YNYG1e9cy+f7JFC4U0r8KEQkRITvSP5N2hlcW\nvMLNVW6m+/XdvY4jIpIv/Cp9M+tgZhvMLNnMXshm+ZtmttJ322hmhzIt621mm3y33rkZ/mp88O0H\nbDu0jeGthuti5yISMnI8p2FmYcA7QFsgBVhuZjOcc2vPreOc659p/aeAxr775YBXgFjAASt82x7M\n1UdxmY6fOc7QhUO5s8adtK/d3ssoIiL5yp8h7q1AsnNui3PuDDAJ6HKJ9eOAib777YE5zrkDvqKf\nA3S4msC5YeQ3I/n52M+MaD1CFzsXkZDiT+lXBXZkmk7xzbuAmdUEYoCEy902vxw6dYjXl7xOx7od\nuaPGHV5GERHJd/6UfnZDYXeRdXsAU5xzaZezrZn1NbMkM0vau3evH5Gu3BtL3+DgqYO62LmIhCR/\nSj8FqJ5puhqw6yLr9uA/p3b83tY5N8o5F+uci42KivIj0pXZfWw3b331Fr+54Tc0qtwoz36OiEig\n8qf0lwN1zSzGzIqSUewzsq5kZvWASGBZptmzgXZmFmlmkUA73zxPjFg0glOppxjScohXEUREPJXj\nq3ecc6lm9iQZZR0GjHbOrTGzIUCSc+7cASAOmOScc5m2PWBmQ8k4cAAMcc4dyN2H4J/th7bz/or3\nebTRo1xb/lovIoiIeM4ydXRAiI2NdUlJSbn+fR+b/hjjV40n+alkqpepnvMGIiJBxMxWOOdic1ov\nJN6VtH7fej76/iP+J/Z/VPgiEtJCovRfnv8yEUUiePHOF72OIiLiqQJf+t/+9C2frP2E/k37E1Ui\n714ZJCISDAp86Q9MGEi54uV4rtlzXkcREfFcgS79hdsXMit5Fi80f4Eyxcp4HUdExHMFtvTPXQax\nSskq9Lu1n9dxREQCQoG9csiXyV+yZMcS3rv3PSKKRHgdR0QkIBTIkX66S2dgwkBqRdaiT+M+XscR\nEQkYBXKk/8maT1j580rGdR1H0bCiXscREQkYBW6kn5qeykvzX6JBxQbENYjzOo6ISEApcCP9MSvH\nsOnAJqb9ZhphhcK8jiMiElAK1Ej/VOopBicO5raqt9G5Xmev44iIBJwCNdJ/P+l9Uo6kMOZXY3QZ\nRBGRbBSYkf7R00cZvmg4rWNa0yqmlddxREQCUoEZ6R87c4wWNVvwh+Z/8DqKiEjAKjClX6VUFaY+\nMNXrGCIiAa3AnN4REZGcqfRFREKISl9EJISo9EVEQohKX0QkhKj0RURCiEpfRCSEqPRFREKIOee8\nznAeM9sLbL+Kb1EB2JdLcfJaMGWF4MobTFkhuPIGU1YIrrxXk7Wmcy4qp5UCrvSvlpklOedivc7h\nj2DKCsGVN5iyQnDlDaasEFx58yOrTu+IiIQQlb6ISAgpiKU/yusAlyGYskJw5Q2mrBBceYMpKwRX\n3jzPWuCpCTCPAAAEFUlEQVTO6YuIyMUVxJG+iIhcRNCWvpmNNrM9ZrY607xyZjbHzDb5vkZ6mTEz\nM6tuZvPNbJ2ZrTGzZ3zzAy6zmRUzs2/M7Htf1j/55seY2de+rB+bWVGvs55jZmFm9p2ZzfRNB3LW\nbWa2ysxWmlmSb17A7QfnmFlZM5tiZut9+2+zQMxrZvV8v9NztyNm9mwgZgUws/6+v6/VZjbR93eX\n5/tt0JY+8BHQIcu8F4B5zrm6wDzfdKBIBZ5zztUHmgL9zOx6AjPzaaCVc+4moBHQwcyaAq8Db/qy\nHgQe8zBjVs8A6zJNB3JWgJbOuUaZXp4XiPvBOW8Ds5xz1wE3kfF7Dri8zrkNvt9pI6AJcAL4jADM\namZVgaeBWOdcAyAM6EF+7LfOuaC9AdHA6kzTG4AqvvtVgA1eZ7xE9ulA20DPDEQA3wK3kfGmkcK+\n+c2A2V7n82WpRsYfcytgJmCBmtWXZxtQIcu8gNwPgNLAVnzP/wV63kz52gFLAjUrUBXYAZQj4wqG\nM4H2+bHfBvNIPzuVnHM/Afi+VvQ4T7bMLBpoDHxNgGb2nS5ZCewB5gCbgUPOuVTfKilk7LiB4C1g\nAJDumy5P4GYFcMD/mdkKM+vrmxeQ+wFQC9gL/Mt3+uwDMytB4OY9pwcw0Xc/4LI653YCbwA/Aj8B\nh4EV5MN+W9BKP+CZWUlgKvCsc+6I13kuxjmX5jL+Ta4G3ArUz261/E11ITPrBOxxzq3IPDubVT3P\nmklz59zNwD1knOZr4XWgSygM3Ay855xrDBwnAE6PXIrvPHhn4BOvs1yM73mFLkAMcA1Qgoz9Iatc\n328LWunvNrMqAL6vezzOcx4zK0JG4U9wzn3qmx3QmZ1zh4AFZDwPUdbMCvsWVQN2eZUrk+ZAZzPb\nBkwi4xTPWwRmVgCcc7t8X/eQcc75VgJ3P0gBUpxzX/ump5BxEAjUvJBRnt8653b7pgMxaxtgq3Nu\nr3PuLPApcDv5sN8WtNKfAfT23e9NxnnzgGBmBnwIrHPO/S3TooDLbGZRZlbWd784GTvoOmA+cL9v\ntYDI6pz7o3OumnMumox/6ROccw8SgFkBzKyEmZU6d5+Mc8+rCcD9AMA59zOww8zq+Wa1BtYSoHl9\n4vjPqR0IzKw/Ak3NLMLXDed+r3m/33r9hMZVPBEykYxzYWfJGI08Rsa53HnAJt/Xcl7nzJT3DjL+\nVfsBWOm7dQzEzMCNwHe+rKuBl33zawHfAMlk/Osc7nXWLLnvBmYGclZfru99tzXAQN/8gNsPMmVu\nBCT59odpQGSg5iXjhQf7gTKZ5gVq1j8B631/Y+OA8PzYb/WOXBGREFLQTu+IiMglqPRFREKISl9E\nJISo9EVEQohKX0QkhKj0RURCiEpfRCSEqPRFRELI/wNFT0gqD/9iygAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x19b9feb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(Ks, np.array(v_scores), 'g-')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### CH_scores在k=20，而v_scores是在k=70的时候得到了最佳值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MiniBatchKMeans(batch_size=100, compute_labels=True, init='k-means++',\n",
       "        init_size=None, max_iter=100, max_no_improvement=10, n_clusters=70,\n",
       "        n_init=3, random_state=None, reassignment_ratio=0.01, tol=0.0,\n",
       "        verbose=0)"
      ]
     },
     "execution_count": 157,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mb_kmeans"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {},
   "outputs": [],
   "source": [
    "#显示聚类结果\n",
    "#画出聚类结果，每一类用一种颜色\n",
    "colors = ['b','g','r','k','c','m','y','#e24fff','#524C90','#845868', '#cccccc','#ffffff','#784c23','#577656','#334523','#467898','y','#333333','#524C00','#845788']\n",
    "\n",
    "n_clusters = 20\n",
    "mb_kmeans = MiniBatchKMeans(n_clusters = n_clusters)\n",
    "mb_kmeans.fit(X_train)\n",
    "\n",
    "y_train_pred = mb_kmeans.labels_\n",
    "cents = mb_kmeans.cluster_centers_#质心"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MiniBatchKMeans(batch_size=100, compute_labels=True, init='k-means++',\n",
       "        init_size=None, max_iter=100, max_no_improvement=10, n_clusters=20,\n",
       "        n_init=3, random_state=None, reassignment_ratio=0.01, tol=0.0,\n",
       "        verbose=0)"
      ]
     },
     "execution_count": 168,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mb_kmeans"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 169,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38179</th>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38180</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38181</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38182</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38183</th>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38184</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38185</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38186</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38187</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38188</th>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38189</th>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38190</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38191</th>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38192</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38193</th>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38194</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38195</th>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38196</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38197</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38198</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38199</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38200</th>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38201</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38202</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38203</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38204</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38205</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38206</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38207</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38208</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>38209 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        0\n",
       "0       0\n",
       "1       0\n",
       "2      12\n",
       "3       3\n",
       "4       6\n",
       "5       6\n",
       "6       0\n",
       "7       6\n",
       "8       0\n",
       "9       6\n",
       "10      4\n",
       "11      3\n",
       "12      6\n",
       "13      3\n",
       "14      9\n",
       "15     12\n",
       "16     10\n",
       "17      0\n",
       "18      0\n",
       "19      9\n",
       "20      0\n",
       "21      3\n",
       "22      4\n",
       "23      3\n",
       "24     18\n",
       "25     12\n",
       "26     18\n",
       "27      2\n",
       "28      3\n",
       "29      1\n",
       "...    ..\n",
       "38179  10\n",
       "38180   0\n",
       "38181   4\n",
       "38182   0\n",
       "38183   9\n",
       "38184   3\n",
       "38185   6\n",
       "38186   0\n",
       "38187   0\n",
       "38188  12\n",
       "38189   8\n",
       "38190   0\n",
       "38191  18\n",
       "38192   6\n",
       "38193  17\n",
       "38194   0\n",
       "38195  18\n",
       "38196   2\n",
       "38197   0\n",
       "38198   1\n",
       "38199   3\n",
       "38200  15\n",
       "38201   0\n",
       "38202   0\n",
       "38203   6\n",
       "38204   2\n",
       "38205   0\n",
       "38206   0\n",
       "38207   4\n",
       "38208   1\n",
       "\n",
       "[38209 rows x 1 columns]"
      ]
     },
     "execution_count": 169,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train_pred\n",
    "df_y = pd.DataFrame(y_train_pred)\n",
    "df_y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.36493881,  0.27295209,  0.18882888,  0.26377671,  0.3557437 ],\n",
       "       [ 0.36493881,  0.27281513,  0.18882888,  0.25601857,  0.31127574],\n",
       "       [ 0.20175479,  0.27048689,  0.18882888,  0.26377671, -0.17787185],\n",
       "       ..., \n",
       "       [ 0.36493881,  0.273226  ,  0.18882888,  0.26377671,  0.31127574],\n",
       "       [ 0.20175479,  0.27240427,  0.18882888,  0.26377671,  0.31127574],\n",
       "       [ 0.20175479,  0.27117167,  0.18882888,  0.27153485, -0.3557437 ]])"
      ]
     },
     "execution_count": 175,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train_array = np.array(X_train_amplified)\n",
    "X_train_array"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "y_train_array = np.array(y_train)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[  3.66271158e-05,   2.72615128e-05,   1.88116321e-05,\n",
       "          2.64157296e-05,   3.09933312e-05],\n",
       "       [  2.05020865e-05,   2.71776924e-05,   1.82737629e-05,\n",
       "          2.63213618e-05,  -3.42833651e-05],\n",
       "       [  2.15313211e-05,   2.72010920e-05,   3.77657767e-05,\n",
       "          2.53763297e-05,  -1.95710744e-05],\n",
       "       [  1.97326296e-05,   2.72607165e-05,   3.77657767e-05,\n",
       "          2.64293918e-05,   2.91512202e-05],\n",
       "       [  1.95718518e-05,   2.72395768e-05,   1.87526615e-05,\n",
       "          2.63134656e-05,   3.15109186e-05],\n",
       "       [  7.38232027e-05,   2.57620295e-05,   2.68335781e-05,\n",
       "          2.65001678e-05,   2.19999396e-05],\n",
       "       [  3.66923624e-05,   2.72901086e-05,   3.77657767e-05,\n",
       "          2.65114318e-05,   3.09589026e-05],\n",
       "       [  2.17125905e-05,   2.72206261e-05,   1.88828883e-05,\n",
       "          2.67422099e-05,   1.52155440e-05],\n",
       "       [  3.23252714e-05,   2.71552406e-05,   2.83243325e-05,\n",
       "          2.66414475e-05,   4.40232834e-06],\n",
       "       [  2.00920328e-05,   0.00000000e+00,   1.88828883e-05,\n",
       "          2.14803459e-05,  -1.91768091e-05],\n",
       "       [  0.00000000e+00,   2.72471154e-05,   1.88828883e-05,\n",
       "          2.65761348e-05,  -2.48193282e-05],\n",
       "       [  6.99095189e-05,   6.81181865e-06,   2.12432494e-05,\n",
       "          2.29834853e-05,  -1.88988843e-05],\n",
       "       [  2.09038733e-05,   2.71942729e-05,   1.83164017e-05,\n",
       "          2.51751594e-05,  -1.86320765e-05],\n",
       "       [  2.18099685e-05,   2.71949381e-05,   3.77657767e-05,\n",
       "          2.61975712e-05,  -3.43832643e-05],\n",
       "       [  2.15477085e-05,   0.00000000e+00,   2.59639714e-05,\n",
       "          2.23046481e-05,   2.52911540e-05],\n",
       "       [  5.90906301e-05,   2.52687584e-05,   3.16962768e-05,\n",
       "          2.61005945e-05,  -8.02011477e-06],\n",
       "       [  0.00000000e+00,   2.72643940e-05,   3.77657767e-05,\n",
       "          2.58927872e-05,  -2.11222825e-05],\n",
       "       [  2.64909128e-07,   2.72042315e-05,   2.15804438e-05,\n",
       "          2.67932854e-05,   1.09581766e-05],\n",
       "       [  3.75694125e-05,   2.72798015e-05,   2.59639714e-05,\n",
       "          2.66686010e-05,  -2.94600255e-05],\n",
       "       [  2.00624513e-05,   0.00000000e+00,   3.77657767e-05,\n",
       "          2.24247146e-05,  -1.75754330e-05]])"
      ]
     },
     "execution_count": 173,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cents"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 178,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nFf6FHql9juhzDp1DOHhuAGD39t1U7A32OpJTklm84n32lu0hI6kDXxwa7N0MG5pP95weVFVVAlBX\nV0ddfRByn6z/hDmvvwLAzVd9n5oDwV5KTW0Ve8pKcZz9ew5ww/cmsbn4Yx64+/+SmppGeUUZ23YU\ns71kKwA7d+2gqHhTi+elMR8V72Tlpm2kpiSTkRZck2BA544ZvL3sI9Zs3sGqT7Yzaki/hDyeiLQ9\niz1R2ugAs68D4939+vD+NcAod78tZsyKcExReP8jYBTwY2C+u/82bP8lMNvdn2vkcaYCUwFGjhiS\nX9e15rDAyqJDXSVVybXURW01VbXVy97ZtDzeJ5uekpr0nQlXnpaVkZm6d39F1d9XL9m68KNVpQ3H\n5Z3UrcdNBT/Ia2wdsfPV8BDSys0rdpVW7Koa3n9EbkZaRmp5/V6W7X+PnbXBC3Z1ZW11anpyWuxy\n7s7iv21Y9M9XPjgidl2bqtayc/fOsqE5p2elJadbed3h6zpo+6Y9W7O6ZHTq2Dkj62BbdWVt9fK/\nR/OSA+yMa4IauOP+f+27q0Of3NKy/XTKTGfMFwZSs3HR1vMuvqLnI7PmUrKnguGDenPuwM7lX/7S\nWR9Onz69x3333XfYvD3xxBPbb7zxxh6xbUuWLKnIz8+Pjv3dd9993adPn35YAi9YsKB85MiRWbFt\ntbW1vP3223tGjhzZKTk52ZYuXVoxefLkjRs2bKj5NM/vU/rU89nKVGdifRbqPMXdOx3rSuIJhSuA\nCxqEwkh3vz1mzMpwTGwojASmA+81CIVX3P35Zh6z0N0LPv3TOv4+CzWC6kw01ZlYqjNxElVjPIeP\nioDYv+LygIaX/URjzCwF6AyUxrmsiIi0E/GEwkJgkJkNMLM0ghPHsxqMmQUcvFD+68AbHuyCzAIm\nhVcnDQAGAQsSU7qIiCRas+9odvdaM7sNeBVIBma4+0ozmw4Uuvss4JfATDNbT7CHMClcdqWZ/QFY\nBdQCt7p7XaMPdLgnP93TaVWfhRpBdSaa6kws1Zk4Camx2XMKIiLy+dEu39EsIiJtQ6EgIiKRVg2F\ntvq4jONQ5/fMbJWZLTOz182sX0xfnZktCX8anpBv7TqnmFlJTD3Xx/Rda2brwp/Ef5pey+r8aUyN\na81sT0xfq8ynmc0wsx3he24a6zcz+1n4HJaZ2fCYvtacy+bqvDqsb5mZzTOz02P6Pjaz5eFcHtdP\nMYyjzrFmtjfmd3t/TN9Rt5dWrPEHMfWtCLfFrmFfa85lHzN708xWm9lKM7ujkTGJ2z7dvVV+CE5S\nfwQMBNLtzhEfAAAEJUlEQVSApcDQBmNuAR4Pb08Cfh/eHhqOTwcGhOtJbsM6zwU6hLdvPlhneL+8\nHc3nFOCRRpbtCmwI/80Ob2e3VZ0Nxt9OcDFDa8/nV4DhwIom+icAswne1H0W8H5rz2WcdX7p4OMT\nfDTN+zF9HwM57WQ+xwJ/Odbt5XjW2GDsRQRXVbbFXPYEhoe3OwFrG/m/nrDtszX3FFr94zKOV53u\n/qa77w/vzid4/0Vri2c+m3IBMMfdS919NzCH4LOp2kOdVwHPHKdamuTu7xBcOdeUicBvPDAf6GJm\nPWnduWy2TnefF9YBbbdtxjOfTTmW7bpFWlhjm2yXAO6+1d0Xh7fLgNVA7wbDErZ9tmYo9AY2x9wv\n4sgnFo1x91pgL9AtzmVbs85Y1xEk9EEZZlZoZvPN7JLjUWAo3jovD3cnnzOzg28kbJfzGR6GGwC8\nEdPcWvPZnKaeR2vOZUs13DYdeM3MFlnwsTJtbbSZLTWz2WZ2WtjW7ubTzDoQvJDGfhJDm8ylBYfU\n84H3G3QlbPtszW9eO/Kzpon5dLmjj4ln2USJ+7HMbDJQAJwT09zX3YvNbCDwhpktd/eP2qjOl4Bn\n3L3KzG4i2Av7hziXTZSWPNYk4Dk//L0srTWfzWkP22bczOxcglAYE9N8djiX3YE5ZrYm/Gu5LSwG\n+rl7uZlNAF4keHNre5zPi4B33T12r6LV59LMsgiC6U5339ewu5FFPtX22Zp7Cp+Vj8uI67HM7KvA\nPcDF7l51sN3di8N/NwBvEaR6m9Tp7rtiavsFMCLeZVuzzhiTaLCL3orz2Zymnke7+ygXMxsGPAVM\ndPddB9tj5nIH8ALH7xBss9x9n7uXh7dfAVLNLId2OJ8cfbtslbk0s1SCQHja3f/UyJDEbZ+tcaIk\nPOGRQnCSYwCHTiCd1mDMrRx+ovkP4e3TOPxE8waO34nmeOrMJzgZNqhBezaQHt7OAdZx/E6SxVNn\nz5jblxJ8Yi0EJ502hvVmh7e7tlWd4bhTCE7eWVvMZ/gY/Wn6xOjXOPxE3oLWnss46+xLcM7tSw3a\nOwKdYm7PI/hk47aq88SDv2uCF9RPwrmNa3tpjRrD/oN/mHZsq7kM5+U3wENHGZOw7fO4bRBNFD6B\n4Mz5R8A9Ydt0gr+2ATKAP4Yb9QJgYMyy94TLfQhc2MZ1/g3YDiwJf2aF7V8Clocb8nLgujau81+B\nlWE9bwJDYpb9djjP64FvtWWd4f0fAw82WK7V5pPgL8GtQA3BX1fXATcBN4X9RvBlUx+FtRS00Vw2\nV+dTwO6YbbMwbB8YzuPScJu4p43rvC1m25xPTIg1tr20RY3hmCkEF7nELtfaczmG4JDPspjf64Tj\ntX3qYy5ERCSidzSLiEhEoSAiIhGFgoiIRBQKIiISUSiIiEhEoSAiIhGFgoiIRP4f7KBC1nAA2BoA\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18d44c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1597ca90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(n_clusters):\n",
    "    index = np.nonzero(y_train_pred==i)[0]\n",
    "    x2 = X_train_array[index,0]\n",
    "    x3 = X_train_array[index,1]\n",
    "    y_i = y_train_array[index]\n",
    "    for j in range(len(x2)):\n",
    "        if j < 20:  #每类打印20个\n",
    "            plt.text(x2[j],x3[j],str(int(y_i[j])),color=colors[i], fontdict={'weight': 'bold', 'size': 9})\n",
    "    #plt.scatter(cents[i,0],cents[i,1],marker='x',color=colors[i],linewidths=12)\n",
    "\n",
    "plt.axis([0, 2, 0,2])\n",
    "plt.figure(figsize=(200, 100))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
